package com.linhh.mall.center.web.controller;

import com.github.pagehelper.PageInfo;
import com.linhh.mall.center.api.TemplateInfoService;
import com.linhh.mall.center.common.pojo.TemplateInfo;
import com.linhh.mall.center.common.util.HttpResult;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.web.bind.annotation.*;

/**
 * 模板管理控制类
 * @Author linhh
 * @Date 2022 10 25 00 31
 **/
@RestController
@RequestMapping("/api")
public class TemplateInfoController {

    @Reference
    private TemplateInfoService templateInfoService;

    /**
     * 获取模板列表
     * @param pageNo
     * @param pageSize
     * @return
     */
    @GetMapping("getTemplateList")
    public HttpResult getTemplateList(@RequestParam(value = "page",defaultValue = "1")int pageNo,@RequestParam(value = "pageSize",defaultValue = "10")int pageSize){
        PageInfo<TemplateInfo> templates = templateInfoService.getTemplate(pageNo+1,pageSize);
        return HttpResult.success(templates);
    }

    /**
     * 根据ID获取模板信息
     * @param id
     * @return
     */
    @GetMapping(value = "/getBrandsAndAttr")
    public HttpResult getBrandsAndAttr(Integer id){
        TemplateInfo templateInfo = templateInfoService.getBrandsAndAttr(id);
        return HttpResult.success(templateInfo);
    }

    @PostMapping("/relatedBrand")
    public HttpResult templateRelateBrand(@RequestBody TemplateInfo templateInfo){
        // 根据传过来的模板id和brands字段中装的品牌数组字符串关联品牌，多个就增，少了就删
        System.out.println(templateInfo.getBrands());
        int result = templateInfoService.updateTemplateInfo(templateInfo);
        return HttpResult.success(result);
    }

    @PostMapping("/relatedAttribute")
    public HttpResult templateRelateAttr(@RequestBody TemplateInfo templateInfo){
        //根据传过来的模板id和Attribute字段中装的attribute数组字符串关联品牌，多了就增，少了就删
        System.out.println(templateInfo.getAttribute());
        int result = templateInfoService.updateTemplateInfo(templateInfo);
        return HttpResult.success(templateInfo);
    }


}
